The disclosures herein relate in general to information handling systems, and in particular to operating a stack of information in an information handling system.
In response to a branch conditional instruction, an information handling system may speculatively branch its processing to a predicted one of two or more possible target sequences of instructions, before the information handling system actually determines whether the predicted sequence of instructions is in fact the correct sequence. If the information handling system later determines that the speculative branch is correctly predicted, then the information handling system continues processing the predicted sequence of instructions. By comparison, if the information handling system later determines that the speculative branch is mispredicted, then the information handling system: (a) stops (e.g., cancels) processing the predicted sequence of instructions; (b) recovers from the misprediction by reversing certain types of effects of processing the predicted sequence of instructions; and (c) processes the correct sequence of instructions. If information was pushed onto (or popped from) a stack as a result of the misprediction, then such recovery may consume additional time. Thus, a need has arisen for an information handling system that reduces a time for such recovery.